<template>
  <div class="list" ref="wrapper">
    <div>
      <div class="area">
        <div class="title border-topbottom">当前城市</div>
        <div class="button-list">
          <div class="button_wrap">
            <div class="button">
              {{this.currentCity}}
            </div>
          </div>
        </div>
      </div>
      <div class="area">
      <div class="title border-topbottom">热门城市</div>
      <div class="button-list">
        <div class="button_wrap"
             v-for="item of hot"
             :key="item.id"
             @click="handleCityClick(item.name)"
        >
          <div class="button">
            {{item.name}}
          </div>
        </div>
      </div>
    </div>
      <div class="area"
           v-for="(item, keys) of cities"
           :key="keys"
           :ref="keys"
      >
      <div class="title border-topbottom">{{keys}}</div>
      <div class="item-list">
        <div class="item border-bottom"
             v-for="innerItem of item"
             :key="innerItem.id"
             @click="handleCityClick(innerItem.name)"
        >
          {{innerItem.name}}
        </div>
      </div>
    </div>
    </div>
  </div>
</template>

<script>
  import Bscroll from 'better-scroll'
  import { mapState,mapMutations } from 'vuex'
  export default {
    name: "List",
    props: {
      cities:Object,hot:Array,letter:String
    },
    computed: {
      ...mapState({
        currentCity: 'city'
      })
    },
    methods: {
      handleCityClick (city) {
        // this.$store.commit('changeCity', city);
        this.changeCity(city);
        this.$router.push("/");
      },
      ...mapMutations(['changeCity'])
    },
    watch: {
      letter () {
        if(this.letter){
          console.log(this.$refs[this.letter]);
          const element = this.$refs[this.letter][0];
          this.scroll.scrollToElement(element);
        }
      }
    },
    mounted(){
      this.scroll = new Bscroll(this.$refs.wrapper);
    }
  }
</script>

<style lang="stylus" scoped>
  @import "~styles/varibles.styl"
  .border-topbottom
    &:before
      border-color #ccc
    &:after
      border-color: #ccc
  .border-bottom
    &:before
      border-color #ccc

  .title
    line-height .54rem
    background #eee
    padding-left .2rem
    color #666
    font-size .26rem
.list
  position absolute
  top 1.58rem
  left 0
  right 0
  bottom 0
  overflow hidden
  .button-list
    padding .1rem .6rem .1rem
    overflow hidden
    .button_wrap
      width 33.33%
      float left
      .button
        margin .1rem .1rem
        padding .1rem 0
        border .02rem solid #ccc
        text-align center
        border-radius .06rem
  .item-list
    .item
      line-height .76rem
      padding-left .2rem


</style>
